home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / utility / qfix101.zip / QUICKFIX.DOC < prev    next >
Text File  |  1992-11-01  |  16KB  |  313 lines

  1.  
  2.  
  3.                ╒════════════════════════════════════════╕
  4.                │ The QuickFix System (C)1992 R.Janorkar │
  5.                ╘══════════════════════════╡Version 1.01╞╛
  6.  
  7.  
  8.             MakeFix and QuickFix software upgrade utilities
  9.             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  10.                           Evaluation release dated 11/01/92
  11.  
  12.  
  13.         Overview
  14.         ~~~~~~~~
  15.         The QuickFix System is a method for software authors to provide
  16.         minor updates to their users in a fast and efficient manner.
  17.  
  18.         Often after releasing a software package, new enhancements or
  19.         bug fixes to the software require that the author release the
  20.         entire package again, even though only one file may have been
  21.         modified. If it is a large package this poses problems. Users do
  22.         not take kindly to having to download large files over a modem
  23.         at their expense, and mailing the packages is expensive for the
  24.         author. The QuickFix System compares the original file (that the
  25.         user already has along with the rest of the package) against the
  26.         modified update file and creates a compact fix file that maps
  27.         the differences between the files. The end user has to run the
  28.         accompanying applicator program to update their files to the
  29.         latest version. The QuickFix System can update several files
  30.         from within a single fix file, allowing an entire package to be
  31.         upgraded with a minimum of effort. The QuickFix System can also
  32.         generate fix files that can update from ANY one of several older
  33.         versions to the latest version (copies of the old versions must
  34.         be available when creating the fix file).
  35.  
  36.         The QuickFix System consists of two parts, the MakeFix utility
  37.         that creates the fix file(s); and the QuickFix applicator that
  38.         applies the fix file(s) to the user target file(s) making it
  39.         identical to the master updated file (including the file date
  40.         and time). Another program included is a menu interface called
  41.         FixMenu for using the MakeFix utility.
  42.  
  43.         The fix file generated may be distributed to users along with
  44.         the QuickFix applicator utility. Additional fixes may also be
  45.         issued in the future and applied using the same technique. The
  46.         QuickFix System can create fix files for vastly different files,
  47.         producing small update packages that are easier and cheaper to
  48.         get to the end users. The applicator utility needs no prompts or
  49.         commands, and can also be set to automatically start applying
  50.         the fix by using a default fix file name. The QuickFix utility
  51.         uses 32 bit CRCs to ensure it is fixing the correct file, and
  52.         again checks the updated file after fixing to ensure success.
  53.         Repeated attempts to apply the fix do not cause any damage,
  54.         QuickFix reports that there is no need to apply the fix and
  55.         terminates.
  56.  
  57.  
  58.         What's new?
  59.         ~~~~~~~~~~~
  60.         There are NO new features in v1.01 - two small bugs have been
  61.         found and corrected. Both bugs were of a non-fatal nature, one
  62.         was in the menu interface utility (FIXMENU.EXE) and the second
  63.         was a typographical error in the command help screen in the
  64.         MAKEFIX.EXE utility.
  65.  
  66.  
  67.         Licensing
  68.         ~~~~~~~~~
  69.         This version of the QuickFix System is a Demonstration version,
  70.         it is FULLY FUNCTIONAL in order to allow you to evaluate it's
  71.         performance completely. The use of this version is restricted
  72.         for evaluation ONLY. You may not distribute a fix file generated
  73.         with this demonstration version. The fix files created with this
  74.         demonstration version will always display a Demonstration
  75.         message when the fix is applied.
  76.  
  77.         The QuickFix System (MakeFix, QuickFix and FixMenu) is provided
  78.         with NO warrantees, expressed or implied. Use it at your own
  79.         risk. The author will NOT be liable for any damages, direct or
  80.         indirect, arising from the ability or disability to use this
  81.         software package.
  82.  
  83.         Registration of the QuickFix System gets you a permanent user
  84.         license for use on unlimited workstations and on any number of
  85.         products with NO royalty fees. The registration fee for the
  86.         QuickFix System is US $79 and includes shipping and handling (US
  87.         only, international orders please arrange payment in US Dollars
  88.         and include a US $10 shipping fee). If a newer version of the
  89.         QuickFix System is released within 30 days from the receipt of
  90.         registration, you will receive that version for free. After this
  91.         period there will be a US $15 upgrade fee (international orders
  92.         US $25). Please use the REGISTER.FRM included in this package,
  93.         or contact the author at:
  94.  
  95.         R.Janorkar
  96.         651 Richmond Road,
  97.         Staten Island, NY 10304-2409
  98.         Support BBS (718) 876-0337
  99.  
  100.  
  101.         The MakeFix utility
  102.         ~~~~~~~~~~~~~~~~~~~
  103.         The syntax for MakeFix is:
  104.  
  105.         MAKEFIX original.ext (xxx) modified.ext (yyy) fixfile.ext
  106.  
  107.         where original.ext is the original path\filename.extension;
  108.         and (xxx) is an optional comment that describes the original
  109.             file and must be within parenthesis ();
  110.         and modified.ext is the modified path\filename.extension;
  111.         and (xxx) is an optional comment that describes the modified
  112.             file and must be within parenthesis ();
  113.         and fixfile.ext is the fix path\filename.extension to create.
  114.  
  115.         The name of the original file MUST be exactly the same as what
  116.         the end users will have, since the name is contained within the
  117.         fix file. The name of the modified file could be anything, since
  118.         this file is used only for comparing. The name of the fix file
  119.         too could be anything convenient, the default extension that the
  120.         QuickFix applicator assumes is .QF and the default filename is
  121.         QUICKFIX.QF (see the next section for more information). The
  122.         comments are displayed when the file is being processed by the
  123.         QuickFix applicator and should reflect the version or release
  124.         numbers. The comments must be contained within parenthesis. This
  125.         lets the end user know exactly what upgrading QuickFix is doing.
  126.         It is also possible to update several files from a single fix
  127.         file and to upgrade from any one of a series of versions to the
  128.         latest release. When MakeFix finds that a specified fix file
  129.         already exists, it checks the validity of the file. If the fix
  130.         file is valid, the new file information is appended to the same
  131.         fix file. If the fix file is not valid, it is deleted and a new
  132.         file is created. In order to use the series upgrading feature, a
  133.         copy of each version of the file is required. It is recommended
  134.         that separate directories be created that will hold each release
  135.         then use MakeFix to generate the fix files sequentially (e.g.
  136.         first version 1.0 to version 2.0 then version 2.0 to version 3.0
  137.         etc) using the same fix file. When such a fix is applied, any
  138.         version in the series will be upgraded to the next release, and
  139.         so on until the end result is the latest version. Note that you
  140.         MUST observe the correct version sequence when creating the fix
  141.         file, or it will not work. If the target file does not match any
  142.         of the series, a message will be displayed and the applicator
  143.         will attempt to continue if more files are specified in the fix
  144.         file.
  145.  
  146.         All the file paths used should be explicitly specified if they
  147.         are not in the current directory. Use of the FixMenu interface
  148.         is detailed in the following sections.
  149.  
  150.  
  151.         The QuickFix utility
  152.         ~~~~~~~~~~~~~~~~~~~~
  153.         The syntax for QuickFix is:
  154.  
  155.         QUICKFIX fixfile.ext
  156.  
  157.         where fixfile.exe is the fix filename.extension.
  158.  
  159.         The fix file must be in the same directory as the target file
  160.         that is to be modified. If no file extension is specified, .QF
  161.         is assumed. If the fix file is named QUICKFIX.QF no command line
  162.         is required, QuickFix will use this default file automatically.
  163.         Otherwise a message is displayed with the correct syntax for the
  164.         utility.
  165.  
  166.         QuickFix will first check the CRC of the target file, and if it
  167.         matches the fix is applied. If the target file does not match a
  168.         message is displayed. The CRC is checked again after the fix is
  169.         applied. QuickFix also checks to see if the file is already up
  170.         to date, and informs the user if this is the case. Operation
  171.         takes no more than a few seconds for most fix applications. The
  172.         target file is updated to match the master update file exactly
  173.         byte for byte, and even the file date and time will be exactly
  174.         the same. The fix file and the applicator utility may then be
  175.         deleted by the user. If multiple file update information is in
  176.         the fix file, all the files will be processed. A message will be
  177.         displayed detailing the status of each file processed. If any
  178.         files are missing, or an error occurs, QuickFix will attempt to
  179.         continue with the next file.
  180.  
  181.         In the event of an error, QuickFix will also prompt the user
  182.         with a possible cause or solution. While this information is
  183.         very generic, it will help diagnose the exact difficulty the
  184.         user is facing. The possible errors and messages are:
  185.  
  186.        ┌Command line error, syntax :
  187.        │QuickFix <fixfile.[ext]>
  188.        │where <fixfile.[ext]> is the name of the fix file
  189.        │supplied with this utility. QuickFix must be run in
  190.        └the same directory as the target file to process.
  191.  
  192.       √ If an incorrect or no command line is entered.
  193.  
  194.        ┌ERROR - Cannot find/open fix file!
  195.        │Solution - Enter the correct fix filename.ext,
  196.        └           check if fix file is in current directory.
  197.  
  198.       √ If an incorrect fix filename is entered, or if the fix file is
  199.         not found in the current directory.
  200.  
  201.        [Unable to open/find target file <filename> - skipping ...
  202.  
  203.       √ If the target file (the file that is to be fixed) is not found,
  204.         or is marked Read-Only or any other DOS error occurred that
  205.         prevented QuickFix from opening this file. Note that QuickFix
  206.         will attempt to continue if it is a multiple update fix file.
  207.  
  208.        [Target file <filename> <comment 1> does not match, skipping ...
  209.  
  210.       √ The target file does not match the CRC encoded into the fix
  211.         file, and has possibly been compressed, tampered with or is an
  212.         incorrect version. The comment describing the modified file will
  213.         be displayed here, so the user knows what version is expected.
  214.         Note that QuickFix will attempt to continue if it is a multiple
  215.         update fix file.
  216.  
  217.        ┌ERROR - Failure while fixing target file!
  218.        │Solution - Possible disk error, or DOS error,
  219.        └           or corrupt fix file.
  220.  
  221.       √ A fatal error occurred that prevented the target file from being
  222.         fixed. This could happen if the disk is full, a disk error
  223.         occurred, or the fix file was corrupt. The target file will be
  224.         left unchanged.
  225.  
  226.        ┌ERROR - Fix file was created with an incompatible version!
  227.        └Solution - Obtain the correct QuickFix applicator version.
  228.  
  229.       √ QuickFix recognizes the version of MakeFix that was used to
  230.         create the fix file with, if an incompatible version is detected
  231.         QuickFix will not attempt to fix the target file.
  232.  
  233.        [Target file <filename> <comment 2> is current - skipping ...
  234.  
  235.       √ This is a benign error that occurs if the target file is already
  236.         up to date. QuickFix will not attempt to fix it again. Note that
  237.         QuickFix will attempt to continue if it is a multiple update fix
  238.         file.
  239.  
  240.        ┌ERROR - Target file FAILED CRC validation after fixing!
  241.        └Solution - Contact technical support, this should NEVER happen!
  242.  
  243.       √ This is a very fatal error that should never occur. No damage is
  244.         done, QuickFix will restore the target file to it's original
  245.         unmodified form. DOS SHARE violations could possibly be the
  246.         cause, or attempting to access the target file under a multiuser
  247.         or multitasking environment.
  248.  
  249.  
  250.         The FixMenu interface shell
  251.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  252.         A simple menu interface is included with this package. FixMenu
  253.         offers a menu to control the creation of fix files. You can
  254.         select the original and modified files from the directory map.
  255.         You can specify several different or appended fix files, and
  256.         MakeFix will be automatically loaded with the correct parameters
  257.         for each selection and generate the required fix file(s). Online
  258.         help is available at all times with the F1 key.
  259.  
  260.  
  261.         Epilogue
  262.         ~~~~~~~~
  263.         Both the MakeFix and QuickFix utilities are written in assembly
  264.         language using the Microsoft Macro Assembler v5.10 and linked
  265.         with the Microsoft Linker. The MakeFix utility requires about
  266.         75K of system memory while the QuickFix utility requires about
  267.         70K. The FixMenu interface shell requires almost 300K system
  268.         memory. No EMS or EXTended memory is needed.
  269.  
  270.         There are some factors to consider when issuing QuickFix updates
  271.         to your software. The MakeFix utility will create a fix file for
  272.         virtually ANY nature of differences.
  273.  
  274.         When compiling and linking the updated version you must try and
  275.         keep the same environment and switches. While differences are
  276.         bound to exist the idea is to minimize them, allowing MakeFix to
  277.         generate smaller and more optimal fix files. With very large
  278.         files with thousands of differences, it could take MakeFix
  279.         several hours to create a fix file!
  280.  
  281.         The MakeFix utility can only create fix files for UNCOMPRESSED
  282.         files that have some semblance of similarity. Using any form of
  283.         executable file compression such as EXEPACK, PKLITE or LZEXE
  284.         will make it impossible to create a fix file! The advantage of
  285.         being able to distribute compact fix files far outweighs any
  286.         reasons to use executable file compressors, besides the fact
  287.         that most packages are archived for distribution (ZIP, ARJ etc).
  288.         Non-executable files such as binary or text files can also be
  289.         upgraded using the QuickFix System, this offers the ability to
  290.         upgrade program documentation and support files along with the
  291.         program.
  292.  
  293.  
  294.         Thanks go to the ßeta boys
  295.         ~~~~~~~~~~~~~~~~~~~~~~~~~~
  296.         Ron 'Da Q' Kulick
  297.         Harris 'Speedy' Lam
  298.         David 'The Man' Kaufman
  299.  
  300.  
  301.         PKLITE is the copyright/trademark of PKWARE Inc;
  302.         ZIP is the copyright/trademark of PKWARE Inc;
  303.         LZEXE is the copyright/trademark of Fabrice Bellard;
  304.         EXEPACK is the copyright/trademark of Microsoft Inc;
  305.         ARC is the copyright/trademark of System Enhancement Associates;
  306.         other products mentioned in this documentation may be copyrights
  307.         and/or trademarks of other software companies.
  308.  
  309.  
  310.  
  311.  
  312.  
  313.